package cn.itcast.com.homework.day822;

import java.util.Comparator;
import java.util.HashMap;
import java.util.Random;
import java.util.TreeMap;

/**
 * Created by 郭浩 on 2020/8/22 14:46
 */
/*
2. 给定两个字符串s和t, 它们只包含小写字母。字符串t是由s中的字母随机打乱之后，
在随机的一个位置添加一个字母生成的。请找出那个添加的字母。
比如：
s = "abcd"
t = "baedc"
输出：e
 */
public class test1 {
    public static void main(String[] args) {
        //创建一个hash表，分两次的遍历s t  value为1的即是新添加的字母
        HashMap<Character, Integer> map = new HashMap<>();
        for (int i = 0; i < 26; i++) {
            char abc = (char) (i+97);
            map.put(abc,0);
        }
        System.out.println(map);
        hhash(map,"abcd","baedc");
    }

    private static void hhash(HashMap<Character, Integer> map,String s, String t) {
        char[] chars1 = s.toCharArray();
        char[] chars2 = t.toCharArray();
        char target = 0;
        //第一次循环，将s的值遍历
        for (int i = 0; i < chars1.length; i++) {
            map.put(chars1[i],map.get(chars1[i]) + 1);
        }
        //第二次循环，将t的值遍历
        for (int i = 0; i < chars2.length; i++) {
            map.put(chars2[i],map.get(chars2[i]) + 1);
            if (map.get(chars2[i]) == 1){
                target = chars2[i];
            }
        }
        System.out.println(map);
        System.out.println(target);
    }
}
